home *** CD-ROM | disk | FTP | other *** search
/ Aminet 4 / Aminet 4 - November 1994.iso / aminet / dev / obero / oberon_lib.lha / oberon-a / source1.lha / source / Amiga / MathIEEESingBas.mod < prev    next >
Text File  |  1994-08-08  |  3KB  |  158 lines

  1. (**************************************************************************
  2.  
  3.      $RCSfile: MathIEEESingBas.mod $
  4.   Description: Interface to mathieeesingbas.library
  5.  
  6.    Created by: fjc (Frank Copeland)
  7.     $Revision: 3.2 $
  8.       $Author: fjc $
  9.         $Date: 1994/08/08 00:56:52 $
  10.  
  11.   Includes Release 40.15
  12.  
  13.   (C) Copyright 1985-1993 Commodore-Amiga, Inc.
  14.       All Rights Reserved
  15.  
  16.   Oberon-A interface Copyright © 1994, Frank Copeland.
  17.   This file is part of the Oberon-A Interface.
  18.   See Oberon-A.doc for conditions of use and distribution.
  19.  
  20. ***************************************************************************)
  21.  
  22. MODULE MathIEEESingBas;
  23.  
  24. (*
  25. ** $C- CaseChk       $I- IndexChk  $L+ LongAdr   $N- NilChk
  26. ** $P- PortableCode  $R- RangeChk  $S- StackChk  $T- TypeChk
  27. ** $V- OvflChk       $Z- ZeroVars
  28. *)
  29.  
  30. IMPORT SYS := SYSTEM, E := Exec, M := MathLibrary;
  31.  
  32. (*
  33. **      $VER: mathieeesp.h 1.1 (13.7.90)
  34. *)
  35.  
  36. (*
  37. ** Not ported.
  38. *)
  39.  
  40. (*-- MathIEEESingBas Base variable --------------------------------------*)
  41.  
  42. TYPE
  43.  
  44.   MathIEEESingBasBasePtr * = CPOINTER TO MathIEEESingBasBase;
  45.   MathIEEESingBasBase * = RECORD (M.MathIEEEBase) END;
  46.  
  47. CONST
  48.  
  49.   name * = "mathieeesingbas.library";
  50.  
  51. VAR
  52.  
  53.   base * : MathIEEESingBasBasePtr;
  54.  
  55.  
  56. (*-- Library Functions ------------------------------------------------*)
  57.  
  58. (*
  59. **      $VER: mathieeesingbas_protos.h 1.3 (7.11.90)
  60. *)
  61.  
  62. LIBCALL (base : MathIEEESingBasBasePtr ) Fix*
  63.   ( parm [0] : E.SINGLE )
  64.   : LONGINT;
  65.   - 30;
  66.  
  67. LIBCALL (base : MathIEEESingBasBasePtr ) Flt*
  68.   ( integer [0] : LONGINT  )
  69.   : E.SINGLE;
  70.   - 36;
  71.  
  72. LIBCALL (base : MathIEEESingBasBasePtr ) Cmp*
  73.   ( leftParm  [0] : E.SINGLE;
  74.     rightParm [1] : E.SINGLE )
  75.   : LONGINT;
  76.   - 42;
  77.  
  78. LIBCALL (base : MathIEEESingBasBasePtr ) Tst*
  79.   ( parm [0] : E.SINGLE )
  80.   : LONGINT;
  81.   - 48;
  82.  
  83. LIBCALL (base : MathIEEESingBasBasePtr ) Abs*
  84.   ( parm [0] : E.SINGLE )
  85.   : E.SINGLE;
  86.   - 54;
  87.  
  88. LIBCALL (base : MathIEEESingBasBasePtr ) Neg*
  89.   ( parm [0] : E.SINGLE )
  90.   : E.SINGLE;
  91.   - 60;
  92.  
  93. LIBCALL (base : MathIEEESingBasBasePtr ) Add*
  94.   ( leftParm  [0] : E.SINGLE;
  95.     rightParm [1] : E.SINGLE )
  96.   : E.SINGLE;
  97.   - 66;
  98.  
  99. LIBCALL (base : MathIEEESingBasBasePtr ) Sub*
  100.   ( leftParm  [0] : E.SINGLE;
  101.     rightParm [1] : E.SINGLE )
  102.   : E.SINGLE;
  103.   - 72;
  104.  
  105. LIBCALL (base : MathIEEESingBasBasePtr ) Mul*
  106.   ( leftParm  [0] : E.SINGLE;
  107.     rightParm [1] : E.SINGLE )
  108.   : E.SINGLE;
  109.   - 78;
  110.  
  111. LIBCALL (base : MathIEEESingBasBasePtr ) Div*
  112.   ( dividend [0] : E.SINGLE;
  113.     divisor  [1] : E.SINGLE )
  114.   : E.SINGLE;
  115.   - 84;
  116.  
  117. LIBCALL (base : MathIEEESingBasBasePtr ) Floor*
  118.   ( parm [0] : E.SINGLE )
  119.   : E.SINGLE;
  120.   - 90;
  121.  
  122. LIBCALL (base : MathIEEESingBasBasePtr ) Ceil*
  123.   ( parm [0] : E.SINGLE )
  124.   : E.SINGLE;
  125.   - 96;
  126.  
  127.  
  128. (*-- Library Base variable --------------------------------------------*)
  129. (* $L- Address globals through A4 *)
  130.  
  131.  
  132. (*-----------------------------------*)
  133. PROCEDURE* CloseLib ();
  134.  
  135. BEGIN (* CloseLib *)
  136.   IF base # NIL THEN E.base.CloseLibrary (base) END;
  137. END CloseLib;
  138.  
  139. (*-----------------------------------*)
  140. PROCEDURE OpenLib * (mustOpen : BOOLEAN);
  141.  
  142. BEGIN (* OpenLib *)
  143.   IF base = NIL THEN
  144.     base :=
  145.       SYS.VAL
  146.         ( MathIEEESingBasBasePtr,
  147.           E.base.OpenLibrary (name, E.libraryMinimum) );
  148.     IF base # NIL THEN SYS.SETCLEANUP (CloseLib)
  149.     ELSIF mustOpen THEN HALT (100)
  150.     END;
  151.   END;
  152. END OpenLib;
  153.  
  154.  
  155. BEGIN
  156.   base := NIL
  157. END MathIEEESingBas.
  158.